#include <pybind11/pybind11.h>
#include <pybind11/stl.h>
#include <SceneGraph/scene_graph.h>
#include <string>
using namespace PhysLeo;
namespace py = pybind11;

void initSceneGraph(py::module &mod)
{
    using class_type = SceneGraph;
    auto pyclass_name = std::string("SceneGraph");
    py::class_<class_type, std::shared_ptr<class_type>>cls(mod, pyclass_name.c_str());

    cls.def(py::init<std::shared_ptr<Node>>());
    cls.def("readFromFile", &class_type::readFromFile);
    cls.def("initGlResourceGraph", &class_type::initGlResourceGraph);
    cls.def("initSimulationResourceGraph", &class_type::initSimulationResourceGraph);
    cls.def("drawGraph", &class_type::drawGraph);
    cls.def("runGraph", &class_type::runGraph);
    cls.def("transformDrawDataGraph", &class_type::transformDrawDataGraph);
    cls.def("updateDrawDataGraph", &class_type::updateDrawDataGraph);
}
